// MainFrm.h : interface of the CMainFrame class
//


#pragma once
#include "FolderList.h"
#include "EditorUIView.h"
#include "ExplorerView.h"
#include "MaterialEditorDlg.h"
#include "..\EditorLogic\AnimationDiagram.h"

class CAeroSplitterWndTheme : public CXTSplitterWndTheme
{
public:
	virtual void RefreshMetrics()
	{
		if (XTPColorManager()->GetCurrentSystemTheme() == xtpSystemThemeAero)
		{
			CXTThemeManagerStyle::RefreshMetrics();
			m_clrSplitterFace.SetStandardValue(GetSysColor(COLOR_WINDOW));
			m_clrSplitterBorders.SetStandardValue(RGB(0xa7, 0xba, 0xc5));
		}
		else
		{
			CXTSplitterWndTheme::RefreshMetrics();
		}
	}
};

class CMainFrame : public CXTPFrameWnd
{

protected: // create from serialization only
	CMainFrame();
	DECLARE_DYNCREATE(CMainFrame)

// Attributes
public:
	LRESULT OnDockingPaneNotify(WPARAM wParam, LPARAM lParam);
	CXTPDockingPaneManager m_paneManager;

	CXTShellList*    m_pListCtrl;

	inline CXTSplitterWnd& GetSplitterWnd() { return m_wndSplitter; }

// Operations
public:

// Overrides
public:
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

// Implementation
public:
	virtual ~CMainFrame();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:  // control bar embedded members
	CXTPStatusBar               m_wndStatusBar;
	CExplorerView               m_wndSceneTree;
	CFolderList*                m_pFolderList;
	CEditorUIView*              m_pRenderView;
	CXTSplitterWndEx            m_wndSplitter;
	CMaterialEditorDlg*         m_pMaterialEditor;

// Generated message map functions
protected:
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnClose();
	afx_msg void OnCustomize();
	DECLARE_MESSAGE_MAP()
	virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
public:
	afx_msg void OnViewMaterial();
	afx_msg void OnUpdateViewMaterial(CCmdUI *pCmdUI);
};